package com.service.impl;

import com.dao.impl.BlogDaoImpl;
import com.dao.intf.BlogDao;
import com.entity.Blog;
import com.entity.Page;
import com.service.intf.BlogService;

import java.util.List;

public class BlogServiceImpl implements BlogService {
    BlogDao blogDao=new BlogDaoImpl();

    @Override
    public Integer queryUserIdByUserName(String userName) {
        return blogDao.queryUserIdByUserName(userName);
    }

    @Override
    public String queryUserNameByUserId(Integer userId) {
        return blogDao.queryUserNameByUserId(userId);
    }

    @Override
    public List<Blog> queryBlogByUserName(String userName) {
        return blogDao.queryBlogByUserName(userName);
    }

    @Override
    public Blog querySingleBlogByBlogId(Integer blogId) {
        return  blogDao.querySingleBlogByBlogId(blogId);
    }

    @Override
    public void deleteBlogByBlogId(Integer blogId) {
        blogDao.deleteBlogByBlogId(blogId);
    }

    @Override
    public void updateBlog(String content, Integer blogId) {
        blogDao.updateBlog(content,blogId);
    }

    @Override
    public void addBlog(String content, Integer userId) {
        blogDao.addBlog(content,userId);
    }

    @Override
    public Page<Blog> page(int pageNo, int pageSize,Integer userId) {
//        Page<Blog> page = new Page<Blog>();
//
//        // 设置每页显示的数量
//        page.setPageSize(pageSize);
//        // 求总记录数
//        Integer pageTotalCount = blogDao.queryForPageTotalCount(userId);
//        // 设置总记录数
//        page.setPageTotalCount(pageTotalCount);
//        // 求总页码
//        Integer pageTotal = pageTotalCount / pageSize;
//        if (pageTotalCount % pageSize > 0) {
//            pageTotal+=1;
//        }
//
//        // 设置总页码
//        page.setPageTotal(pageTotal);
//
//        // 求当前页数据的开始索引
//        int begin = (page.getPageNo() - 1) * pageSize;
//        // 求当前页数据
//        List<Blog> items = blogDao.queryForPageItems(begin,pageSize,userId);
//        // 设置当前页数据
//        page.setItems(items);
//
//        // 设置当前页码
//        page.setPageNo(pageNo);
//        return page;

        Page<Blog> page = new Page<Blog>();




        // 设置每页显示的数量
        page.setPageSize(pageSize);
        // 求总记录数
        Integer pageTotalCount = blogDao.queryForPageTotalCount(userId);
        // 设置总记录数
        page.setPageTotalCount(pageTotalCount);
        // 求总页码
        Integer pageTotal = pageTotalCount / pageSize;
        if (pageTotalCount % pageSize > 0) {
            pageTotal+=1;
        }
        // 设置总页码
        page.setPageTotal(pageTotal);
        // 设置当前页码
        page.setPageNo(pageNo);
        // 求当前页数据的开始索引
        int begin = (page.getPageNo() - 1) * pageSize;
        // 求当前页数据
        List<Blog> items = blogDao.queryForPageItems(begin,pageSize,userId);
        // 设置当前页数据
        page.setItems(items);
        return page;
    }
}